css: Use the bloom filter for change matching
authorBenjamin Otte <otte@redhat.com>
Mon, 27 Jan 2020 02:26:39 +0000 (03:26 +0100)
committerBenjamin Otte <otte@redhat.com>
Tue, 28 Jan 2020 01:17:03 +0000 (02:17 +0100)
commit495eaf31d40d12604ba62bb388c05081796f6a2c
treed5a801cfc78e77438cf56e6201bf5b4161fbffdf
parentccdc3ee40654b44989e60d8e728aa2096f539673
css: Use the bloom filter for change matching

Instead of just doing radical change matching on the node itself, also
consider the parent nodes via the bloom filter.

This means a radical change is now also one where the parent
name/id/classes change, but since that's considered a radical change on
the parent already, those things are slow anyway.

Improves the benchmark times for CSS validation during backdrop
transitions in widget-factory from 45ms to 35ms on my machine.
gtk/gtkcssnode.c
gtk/gtkcssprovider.c
gtk/gtkcssselector.c
gtk/gtkcssselectorprivate.h
testsuite/css/change/test5.nodes